***CAC User Guide***

**[Contents]{.underline}**

Contents 1

Licence 5

Introduction 6

Conventions 6

Installing the software 7

Starting a new file 8

> **How many bars, how many notes, how many voices 8**
>
> **Macro-beats and micro-beats 8**

Getting started 9

> **Your first note 9**
>
> **Play the music 10**
>
> **Navigation 11**

Basic techniques 12

> **Define a group of values: starting with attacks 12**
>
> **Another way of creating a group of attacks 13**
>
> **To rhythmicize the attacks 13**
>
> **Deleting notes 14**
>
> **Defining a group of values other than attacks 14**
>
> **Pitches 14**
>
> **Amplitudes and Amplitude gradations 14**
>
> **Envelope/glissandos 14**
>
> **Editing existing envelopes 15**
>
> **Envelope points 16**
>
> **Durations 16**
>
> **Microtonal inflections 16**
>
> **Copy/move notes 16**
>
> **Display 17**

The many and various 19

> **Load waveforms 19**
>
> **Assign waveforms to voices 19**
>
> **Set tempo 20**
>
> **Set l.v. 20**
>
> **Beats input 21**
>
> **Memory setup 22**
>
> **Display pitches in colours 22**
>
> **Display options 22**
>
> **Remarks 26**
>
> **Rename staves 26**
>
> **Change a stave's clef 27**
>
> **Quickplay options 27**
>
> **Set stereo positions 27**
>
> **Set key response speeds 27**
>
> **Tutorial 27**
>
> **Re-set parameter defaults 28**

Saving and opening files 29

Printing files 29

Summary of Functions 30

> **Accel/rit 30**
>
> **Layered attacks 31**
>
> **Pitch string 1 31**
>
> **Pitch string 2 -- 6 33**
>
> **Interval string 33**
>
> **Distort 33**
>
> **Uses of Distort 33**
>
> **Slave voice & Double-stop 33**

Advanced rhythmicize 34

> Introduction 34
>
> Example 34
>
> Conclusion 40

Tips 41

> **Cancelling menus via Escape 41**
>
> **Undo the last operation 41**
>
> **Quickly select a voice 41**
>
> **Pressing Enter 41**
>
> **Copying single parameters 41**
>
> **Quickly playing things 42**
>
> **Menus large or little 42**
>
> **Quick navigation 42**
>
> **Desparate for a quick random number 43[\
> ]{.underline}**

# License

CAC is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free
Software Foundation, either version 2 of the License, or (at your
option) any later version.

CAC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.

You should have received a copy of the GNU General Public License along
with CAC. If not, see <http://www.gnu.org/licenses/>.

CAC

Copyright © 1990 Richard Emsley

**[\
]{.underline}**

# Introduction

The acronym 'CAC' stands for Computer-Aided Composition. The software
can generate music using a repertoire of controllable automatic
functions. Such music can then be played and displayed as notation, and
saved in the fashion of a sequencer.

CAC was created especially for composers interested in making music 'in
the gaps between the notes' both in terms of pitch and rhythm. Thus
pitches are available at increments of one hundredth of a semitone (a
'cent') and sounds can occur at any points in continuous time (which can
be 'quantized' into, if need be complex, rhythmic notation if required).

The background of the inception of the programme was in the early 1990's
at a time when the Acorn Archimedes (the first computer running Sibelius
software) provided an IT-illiterate composer to learn and write software
in a user-friendly computer language (BBC BASIC) for a machine with some
native sound capability. As a result the program which may be ambitious
mathematically is necessarily basic in terms of its sound production:
although an unlimited simultaneous musical parts may be composed, the
actual performance of a maximum of 8 polyphonic voices, with limited
synthesised or sampled sounds, is possible (although the voices can be
over-dubbed indefinitely using an audio editing application).

# Conventions

Any reference to the keys of the keyboard are printed in bold, e.g.
'press **L**'.

To hold down the key **Shift** before pressing a key is notated as, for
example, **\^L**.

Any reference to text within the programme are notated as bold, for
example, **Define a group of values.**

**To cancel a dialogue window at any time, e.g. to avoid selecting an
option, press Esc.**

**[\
]{.underline}**

# Installing the software

**The BBC BASIC file 'CAC(x)' has to live in a new directory you have
created named 'CAC' immediately inside the root directory. So in the
case of the computer Raspberry Pi the pathway of the programme file
would be 'SDFS::RISCOSpi.\$.CAC.CAC(x)'.**

**You should then create three sub-directories inside 'CAC', namely
'CACvar', 'Files' and 'Printing'**

**[\
]{.underline}**

# Starting a new file

## How many bars, how many notes, how many voices

Double-click on the CAC icon. In answer to the question which appears
press **N**.

Estimate the number of bars your piece will have, then add on plenty of
contingency extras (type the number and press **Enter**).

A busy piece with an average of 16 notes per bar in each part, or a slow
piece with only say 4? Type the number you first thought.

A 'voice' is a central concept in CAC. It is the same as a musician or
musicians who can perform one note at a time with no chords or harmony,
just like a singer or a flautist or a violin section with no *divisi*.
So if you want a 3-note chord, such as played by, say, 3 flutes or the
right hand of the pianist, the 3 notes should be given in CAC to 3
separate voices. Bear this in mind when typing the answer to the
question 'How many voices?' (there is no maximum!).

If you want to define the voices, you will have to take the trouble here
to give each one a name, a clef and how many staves -- if so press
**Y**. However, pressing **D** gives you default voices which are all
given no name, a treble clef and a single stave -- easier for now, and
can be changed later, so for this press **D**.

## Macro-beats and micro-beats

The next question refers to the upper number of a time signature, or
measure. If you want 4/4, say, type 4. And the final question refers to
the lower number of the time signature. So type 4 again.

You see CAC's display, showing the top 3 voices out of how many you
previously chose, and the meter shown as 4/4. Press the keys **O**
followed by **T** to display the positions of the 4 beats of each bar.

In CAC you are stuck with this meter throughout this file. However, the
upside of this inflexibility is to allow *greater* flexibility of the
rhythms created within them.

How? If the 4 beats of the time signature can be called macro-beats, to
locate sounds *other* than on the macro-beats, CAC also understands
micro-beats of which each bar consists of 960. This fine gradation
allows you to position sounds effectively in continuous time, just as
CAC allows you also to position sounds effectively in continuous pitch.

# Getting Started

## Your first note

To make a note, press **Menu/Add one note fully defined** (the keys
**M** then **O**). You will remember that you previously told CAC how
many voices you needed, and the first 3 of them are displayed on the
screen. Let's have voice 2, so type **2** and press **Enter**.

Then type **2** for bar number 2, and then type **2** for the beat
number -- beat numbers start with 0, not 1, so this is the middle beat
of the bar.

What pitch shall we choose for our note (I condescendingly ask)? What
about middle C? So type the pitch name **C** (no need to press **Enter**
this time) and then...er, how do we say an accidental called 'natural'?
You will need constantly to have this information, so I may as well give
you now the full Monty: the number keys allow you to signify accidentals
in terms of eighth-tones, ascending steadily upwards from a flat to a
sharp:

> **1** = ½-tone flat
>
> **2** = ⅜-tone flat
>
> **3** = ¼-tone flat
>
> **4** = ⅛-tone flat
>
> **5** = natural
>
> **6** = ⅛-tone sharp
>
> **7** = ¼-tone sharp
>
> **8** = ⅜-tone sharp
>
> **9** = ½-tone sharp

After pressing **5** and be told you have just been given a natural,
then press octave **4** (as you probably know -- you will patronisingly
be told - middle C is the lowest note of the octave numbered as '4' in
musical convention).

We have now got on to the question of Duration. Duration always
indicates the time a note sounds for until either it stops or it is
followed by another note in the same voice. Duration *never* indicates
the distance between the attacks of (beginnings of) adjacent notes.
Let's type **1** for bars (then **Enter**) and then **1** for beats.

We are not even going to *think* about a note's 'Envelope/glissando' or
its number of phases, so here type **0**.

'Amplitude' is what an acoustician calls 'dynamics' -- the loudness of a
note. CAC provides a range of amplitudes from *ppp* up to *fff*. Let's
be a nuisance for others nearby and type **fff**.

If you are in to micotonality, this is your chance to show off. You can
give our note a certain number of cents 'flat' or 'sharp' by typing a
minus or a positive figure. But let's be boring and just type **0**.

Our first note is born! It is a middle C and it is half way through bar
2. We have already called up the **Display Menu** previously by pressing
**O**. Do this again, and in the lower part of the menu, under
**Remove:** you see items which will disappear or reappear each time you
press the letter opposite them. Here press **D** opposite **durations**.
Now a horizontal line extends rightwards from our note's notehead to the
point signifying its duration, which you will remember was asked for as
1 bar and 1 beat -- as you see, the duration line extends for the space
of 1 and a quarter bars to the right of the note.

Since our note is half way through the bar, you will work out that it is
on the micro-beat 480 (half of the bar's total micro-beats of 960).
Press **Display Menu** (O) and choose **beat numbers** (O). Your maths
was right!

## Play the music

Press **Menu** (M) -- the usual starting move for most things -- then
press **Play** (P). Type in the bar and beat to start, and ending at bar
3. One voice will be sufficient, and it should be voice number 2. Sit
back and enjoy your composition.

You will increasingly use keyboard shortcuts to speed things up. The
list of shortcuts can be viewed by pressing **K**. You will see that the
shortcut **P** should activate **Quickplay top *x* voices**. But you
will want to play voice 2 (again and again!). The list informs you that
the two keys on your keyboard just below **P** are the ones you will
need to start playing voices 2 or 3 respectively. Remove the shortcuts
list by pressing a key, and try pressing the key for a colon or
semicolon.

The music plays again -- but wait: it keeps on and on playing empty bars
without stopping. What you need here is the key of choice when anything
puzzling happens -- the key **Esc**.

**[\
]{.underline}**

## Navigation

Pressing **Esc** thankfully escaped that playing silence. But how can
you get back to bar 2?

Navigation basics are thus:

> To display one bar further forwards press **\>** and backwards press
> **\<**.
>
> To go downwards through the voices press **v**, upwards **\^** (all
> lower case).
>
> To display half the number of bars press **--** or for double press
> **+**.
>
> Or press **D** to display a certain number of bars or **B** to select
> a bar.

**[\
]{.underline}**

# Basic techniques

# Define a group of values starting with attacks

Now, we are going to gravitate from a single note to a group of notes.

**IMPORTANT** -- usually go to **Define a group of values** (M/G) as the
first stop whenever you want to create anything.

Having 'defined' that something, CAC takes you automatically into the
**Add the group of values** stage. (The latter appears as a separate
Menu option so that you can add your defined group again elsewhere, as
if it were stored on a 'clipboard').

Having selected **Define a group of values** you will see that you have
to select one of various options next. The first option you *must*
select is **attacks** if you are creating something new -- this follows
the concept that you first have to make an initial rhythmic passage as a
'skeleton' before going back to its other parameters, such as its
pitches, amplitudes and durations, which can be applied later.

So having chosen **Define a group of values/attacks**, then press **R**
to signify you want to input the attacks as a series of **Raw beat
numbers**. Let's have 4 attacks, after which you are asked whether the
intervals (of time) are the same. Note the use of the word 'interval' to
indicate the distance between the attacks of the notes, so as to reserve
the word 'duration' for its own meaning.

A minimalist here would probably answer 'Yes', but we will be
sufficiently complex to say 'No' the intervals between the attacks are
*not* the same. Shall we have an interval between attacks one and two
maybe 0 bars and 3 beats, the next one 0 bars and 1 beats, and the final
interval 0 bars and 2 beats? (Alternatively you could use the
micro-beats notation, which would be 0 bars 720 beats, 0 bars 240 beats
and 0 bars 480 beats).

This 'group of values' (i.e. attacks) can be placed wherever you wish --
so give the bar and beat you wish.

Finally, it must be decided which voice is to be given this rhythmic
treasure. What about voice 1.

# Another way of creating a group of attacks

I have previously told you how to define a group of attacks. But this
time type **M/G/A** to get a group of attacks again. But then press
**A** for **already rhythmicized**. Press **G** for **group**, then bar
2, beat 3. Then ending at bar 3 beat 0.

For divisions type **3** (a triplet), how many attacks type **2** (one
of the triplets will be a rest). **Attack 1** will be on division number
2, and **attack 2** on division 3. Then press **F** for **finished**.
Select voice 2 and the triplet with the first attack as a rest should
appear.

The principle of the program is to request notes as either with rhythmic
notation -- such as the one you've just created -- or without notation,
like the first note you created. Using without notation, attacks can
appear on any of the 960 microbeats you like. You have already pressed
**O** twice to display the microbeat of the first attack in each voice.
The attack placed on beat 2 is half way through the bar, and thus on
beat 480. If you press **O** twice again, the beat numbers for every
attack are displayed.

Typically in my own case I would create music first without notation,
then re-copy a voice asking for the rhythm to be **rhythmicized**. The
music would then be 'quantized' using notation as complex as you wished.
For instance, tuplets ('irrational' rhythms) more complex than triplets
could go up to divisions of 5, 6, 7, 8 and so on indefinitely -- you can
stipulate the number you require. You can also stipulate how long
tuplets can be, and on which beats of the bar they can begin.

# To rhythmicize the attacks

We are going to create in voice 3 the same triplet you have made in
voice 2, but now *without* the rhythmic notation. To create rhythms
without these press **M/G/A** then **R** for raw. So ask for 2 attacks,
the interval between them being 0 bars, 80 beats (a triplet), starting
at bar 2, beat 800. The triplet appears on voice 3 but without rhythmic
notation, that is, just noteheads and stems.

Navigate down to see both voices 3 and 4 (the program invariably
displays only a maximum of 3 voices). Then press **M/V** (**Various**)
then **D** (**Display options**). Then press **H** (**Rhythmicize
attacks**). You are then returned to the display.

You are now going to copy voice 3 to voice 4, but this time you will be
asked whether you wish to re-define your rhythmicization criteria.

So press **M/C/C**. For which voice type 3. For note numbers type from 1
to 2 (you don't need to press **Enter** -- the program waits until
you've *not* typed a double number). To use the same bar and beat just
type **0** (or just **Enter**), then **0** to confirm bar 2 beat 800.

You will be asked whether you want the group to be rhythmicized. Press
**Y**, then **D** for default criteria (later in the manual we will
experiment to re-defining them), then voice 4. Your triplet is now
copied onto voice 4 with rhythmic notation added.

# Deleting notes

Press **Menu/Delete** notes (M/X). To delete notes leaving the rhythmic
notation may be useful if you don't want to re-rhythmicize a passage,
but maybe re-arrange the odd note -- or when the passage is in its
initial pre-rhythmicized form, i.e. just noteheads and stems without any
rhythmic notation.

To quickly delete single notes, use the keys **\^O**, **\^K** and
**\^M** to delete the first note on the top, middle or bottom staves. If
you quickly press a number key after this, other corresponding notes
will be deleted. For example, if you press **\^K2** the second note on
the second stave will be deleted.

# Defining a group of values other than attacks

Parameters such as pitch, duration, amplitudes and so on can only be
added to *existing* attacks, which, when first created, are given
default parameters. If desired these defaults can be edited per voice
(**Menu\\Various\\Display options\\Define parameter values** --
M/V/D/P).

## Pitches

## Amplitudes and Amplitude gradations

An amplitude of a note can be
defined as *ppp, pp, p, mp, mf, f, ff, ff* or *fff*. But if you want a
finer gradation between these loudnesses, it is possible by selecting
**Menu/Define a group of values/amplitude gradation** (M/G/G).

Inputting your gradations of amplitude is not a triumph of elegance.
They are instructed as if they are envelopes with 4 phases, which is a
bit tricksy on CAC because the maximum of envelope's phases is 3.

Any road up, type in here the number of gradations you want *as if* they
are envelopes/glissandos, let's say **1**. Remembering that you have to
pretend the number of phases is 4, so type in that. Now, for the
amplitude type *mf*. And then you can select your gradation between 1
and 9 (these numbers gradually increase the ampltude from *mf* upto
almost *f*). After instructing to which voice and note number the group
is to be added, you will see the gradation below the amplitude of each
note.

(By the way, if you can't see things you are supposed to see, it
probably means they need to be switched on in **Display Menu**, so to
switch on **amplitdes** press **O/M** -- this toggles with each press
between 'off', 'on in a line', and 'stepped').

## Envelope/glissandos

An envelope describes the *crescendi* and
*diminuendi* applied to the dynamics (amplitudes) of a note, often
called 'hairpins'.

Note: unfortunately this section is addressed only to users of RISC OS 4
and backwards, i.e. typically users of the emulator VirtualRiscPC
running on a Mac or PC, but not users of a Raspberry Pi or other
machines running RISC OS 5. This is because envelopes only work with
certain sounds loaded from the Creations 'sampled' waveforms, a
commercially-available product sold by EMR (ElectoMusic Research) who
made software to run on Acorn machines in the 1980's and 1990's.
Annoyingly its products report an error 'not 32-bit compatible' on RISC
OS 5.

Make sure you are displaying a note with a long 'duration' line to the
right of the notehead. Press **Menu/Define a group of
values/Envelopes/glissandos** (M/G/E). Let's just have **1**.

What is a 'phase' of an envelope? If the envelope has a single crescendo
or diminuendo for its full duration, then it has 1 phase. But if it has
a crescendo followed by a diminuendo, or a diminuendo followed by a
crescendo, it has two phases. And if the duration divides into three
crescendos or diminuendos it has three phases -- the maximum.

If the note has no crescendos or diminuendos, it has no phases.

Let's go for 2 phases. Starting amplitude? -- type **p**. Phase 1 is
going to be a crescendo up to f. But before typing **f** we can decide
at which *point* along the duration will this 'f' arrive. 50% is implied
by a simple 'two hairpins', but you can choose any other percentage --
but let's type 50% anyway.

The first phase arrives at 'f' -- its 'destination' amplitude, so type
**f**.

*Glissandi* if required should be added at this point. Any upward or
downward glissando must coincide with one of the envelope phases applied
to amplitude. If there is going to be no crescendo or diminuendo during
the glissando just make the destination the same as the starting
amplitude. Downward glissandos are given by minus numbers, in terms of
eighth-tones. Type **-8**.

The second phase's destination amplitude is right at the end of the
note's duration -- let make it **ppp**, and the glissando **8**, and
apply to the note with a long duration line you had in mind. Hey presto!

**Editing existing envelopes** If you wish to alter one of your
envelopes -- maybe its amplitudes or its horizontal position of its
middle amplitude(s) -- it is not necessary to start again. If you press
**K** to look at the keyboard shortcuts, half way down the right-hand
side you will see **Edit envelopes...**. To edit the top voice, note 1
it says you should press **\^Q** (i.e. hold down **Shift** and press
**Q**). So first get rid of the shortcuts page, make sure the first note
in the top voice has an envelope, then press **Q** after holding down
the **Shift**.

The principle here is first to press which key signifies your choice of
option -- let's say **E** for **move 1^st^ envelope point** -- and then
use the **Shift** in conjunction with the **\<** or **\>** keys to edit
the envelope. So press **E**, hold down **Shift**, and press **\>** key
repeatedly. You will notice that the envelope point move rightwards. (To
additionally see what percentage the envelope point represents, press
**M/V/D/L**).

You may experiment on the other options for **Editing envelopes** should
you wish.

## Envelope points

If you are interested enough to control the precise
horizontal points your envelopes' 'peak' or 'trough' you probably want
to notate this point rhythmically for the benefit of your performer. We
have the science! Press **Menu/Define a group of values/envelope
points** (M/G/R), stipulate which voice and which of its note(s), then
in answer to the question 'the passage is to start at bar...' press
**Enter** to signify 'for the same position', then **Enter** again to
confirm the position displayed in red (see 'Pressing Enter' on p.41).
Then either choose the voice having the envelope, or another voice.

Two new notes appear showing the positions of the middle amplitude of
the envelope and the end of its duration. Of course, this facility would
be essential also for notes without any envelopes, so that you can
notate precisely its rhythmic value (i.e. its duration).

## Durations

Defining a group of durations is self-explanatory. The
dialogue box offers you the possibility to define durations which 'fill
gaps between attacks', or 'half-fill' them. These options represent
making the passage *legato* (no gaps between notes) or *mezzo staccato*
(notes notated with dots and short horizontal 'tenuto' lines)
respectively.

**Microtonal inflections** Press **Menu/Define a group of
values/microtonal inflections** (M/G/M). Before typing in your data, the
dialogue box presents a reminder of useful stuff about microtones,
namely how many cents equal the various microtones and the tuning of the
partials of the harmonic series.

Having digested and memorised this data, you can type the number of
notes required to be 'inflected' microtonally -- let's say one -- and
then how many cents upwards or downwards (type a positive or negative
number).

The inflection appears above the note you chose, and will be played
accurately by CAC.

# Copy/move notes

'Copying' means making a copy of a note or passage when the original
being copied remains intact and 'moving' means making a copy when the
original note or passage is deleted.

Every one of the many users of CAC ('nerds') will be spending a lot of
time copying and moving notes, so, as well as the 'long way round'
(**Menu/Copy/move notes/Copy one note** or **a Copy passage** and so on)
some shortcuts are provided: the key **X** is for copying a passage,
**Z** is for copying a single note, **\\** is for moving a passage, and
the same key with **Shift** applied is for moving a single note (see
keyboard shortcuts, key **K**).

**Extracting notes** This copies only notes with designated attributes,
for exampe, certain pitches and so on. If you press **Menu/Copy/move
notes/Extract** (M/C/E) you will then be confronted by the demand
**Copy-extract or move-extract?**. The former leaves the extracted
passage intact in the original voice, while the latter deletes it.

Having pressed **C** or **M** and selected a passage you are now faced
with another tricky decision. If you want to **exact notes with certain
pitches** press **P**.

If you want to **extract notes within a designated band of pitches**
press **B**.

If you want to **extract notes which are distant from the following
notes by a certain amount of time** press **A**.

If you want to **extract notes by random numbers** press **R**. If you
answer the following question 'at a distance between 6 and 9' the
program will randomly choose an extracted note between 6 notes and 9
notes from the last note exracted.

If you want to **repeat your mode of extracting** press **L**.

**Copying a rhythm** Useful if you wanted to copy a voice's rhythmic
notation only.

**Save and import** This refers to saving a passage in a single voice,
or the entire music of that voice, to your hard disc, in order to move
it from one file to another one. So it should ***not*** be used for
performing the usual job of saving the file.

**Quickly copying single notes** To quickly copy a single note from the
top stave to the next stave at the same place press **\^1**, **\^2**
etc. To copy the note to a lower stave press a number key immediately
afterwards. For example, to copy the third note on the top stave to the
same place two staves lower quickly press **\^3** then **2**.

**Parenthetically** A very useful coding in CAC allows music to be
copied *on top* of existing music, producing a passage in that voice
which is composed of the two passages combined. This process can be
repeated endlessly.

# Display

In the 'longscore' mode CAC displays 3 voices. Use **Menu/Display**
(M/D) to choose which bars and which voices to be displayed. To display
all voices press the **=** key with **Shift** applied.

To see your music in 'shortscore' (i.e. all voices chosen to be
displayed appearing on 2 systems of a 'piano reduction') press **Display
Menu/Longscore-Shortscore** (O/L) -- all the options toggle between
states.

**Display shortcuts** For number of bars displayed press **D**.

To go to a bar press **B**.

To double the bars displayed press **+** or to halve the bars press
**-**.

Use **\<** or **\>** to move left or right -- one stroke for a single
bar, double strokes for a screen-full of bars, or the key followed by a
number to move for that amount of bars.

Use **\^** or **v** to move up or down -- single stroke for up or down
by one voice, double strokes for up or down by 3 voices, a stroke
followed by a number to move up or down by that number of voices, or a
stroke followed by **0** to move up or down by 50 voices.

Pressing **Q** brings up **Quickdisplay**, a quicker route to display
the voices you want. After using Quickdisplay you can then use **W** -
the first press of **W** calls back any previous Quickdisplay asked for,
the next press calls the present Quickdisplay, and the next press after
that calls back the original Display asked for.

**[\
]{.underline}**

# The many and various

If you press **Menu** and then choose **Various** (M/V) a whole list of
exciting possibilities become available.

# Loading waveforms

Note: You can load waveforms only if you are running CAC on RISC OS 4
and backwards (see **Envelopes/glissandos**) and have acquired EMR's
Creations samped waveforms.

Press **Menu/Various/Load waveforms**. If you have previously loaded
waveforms for the present file (and saved it) you are offered to reload
them or choose new ones.

If you choose **New Waveforms**, you are then offered to load waveforms
individually or from lists. If you choose lists, you can choose between
**Sustaining instruments** or **Percussion instruments** of two types.

# Assign waveforms to voices

Each voice is assigned a waveform which will be its timbre when it is
played. New files are assigned WaveSynth-Beep as their waveforms by
default.

The options are:

**Keep the assignations** Er, self-explanatory

**Reassign** Users who do not have Creations waveforms can reassign to a
voice any of the 8 possibilities available with RISC OS other than
WaveSynth-Beep. They are:

> StringLib-Soft
>
> StringLib-Pluck
>
> StringLib-Steel
>
> StringLib-Hard
>
> Percussion-Soft
>
> Percussion-Medium
>
> Percussion-Snare
>
> Percussion-Noise

**Use WaveSynth-Beep defaults** get back to assigning WaveSynth-Beep
defaults, which seem generally preferable

**Randomly assign sustaining/dry instruments/drums** available for
Creations waveforms users

**Assign in groups** assign the same waveform to groups of voices

# Set tempo

Tempo can be re-set at any bars you want. Note that the MM figure given
is for the bar, not for beats. Thus a tempo of crotchet = 60 BPM should
be set in a 2/4 bar at MM.30, or in a ¾ at MM.20, or in a 4/4 at MM.15
etc.

# Set laissez vibrer

When playing music, each voice to be played is allotted to one of 8
sound 'channels' available in RISC OS. Because each channel is
monophonic, every voice's successive note cancels the playing of its
predecessor, should their durations overlap.

The depressing of the piano's right-most 'sustaining' pedal effectively
gives a duration to every note lasting until the pedal is released. This
is an effect emulated by **Set l.v.** ('l.v.' is used in music to stand
for *laissez vibrer* -- 'let ring') by automatically distributing a
voice's notes across any spare channels, to prolong their durations
maximally.

So before trying **Set l.v.** you should give the notes to be given
'l.v.' very long durations, let's say durations of 10 bars.

To start, decide how many voices are to be played and then deduct that
total from 8 -- this gives you the number of spare channels available to
be used by **Set l.v.**

**Example 1** If you want to play a single voice and you want it to be
played l.v. then you have 7 (i.e. 8 minus 1) spare channels to recruit
to emulate l.v. So press **Menu/Various/Set l.v.** and type the number
of sound channels to generate lv as **1**, how many other channels as
**7**, and then which channels they are -- given that channel 1 will be
allotted the main voice, the others will be channel 2, channel 3,
channel 4, channel 5, channel 6, channel 7 and channel 8.

To **play** this, it helps to distinguish *voices* from *channels*. You
are going to use all of the 8 channels. So when you give the number of
voices as 8, RISC OS waits to be told which voice is to be allotted to
each of the channels 1 to 8 in order.

If our voice with the l.v. is, say, voice 2, then press **Menu/Play**
and type the number of voices as **8**, and their numbers as
2,2,2,2,2,2,2,2. (This makes sure that the 'spare' channels nos. 2-8 are
given the same timbre as voice 2. If you play it again immediately, you
can just play voice 2).

**Example 2** If you want to play 2 voices -- let's say voices 2 and 3 -
but you want only voice 2 to have l.v. then you have 6 (i.e. 8 minus 2)
spare channels to recruit. So in **Set l.v.** give the number of sound
channels to generate lv as 1, how many other channels as 6, and then
which channels they are -- given that voices 2 and 3 take up the first
two channels, that means the channels to be used are channel 3, channel
4, channel 5, channel 6, channel 7 and channel 8.

To **play** this, press **Menu/Play** and type the number of voices as 8
again. Then always follow the rule of giving the 8 voice numbers as (i)
the lv generating voices (ii) the non-lv voices and (iii) the voices
recruited by the lv voices. So in this case give their voice numbers as
2,3,2,2,2,2,2,2.

**Example 3** This time we will have three voices, voices 2 and 3 will
be lv and voice 4 will not be. There will be 5 (i.e. 8 minus 3) spare
channels available for recruiting as lv voices. Let's say two of them
will be helping voice 2 and three will be helping voice 3. In **Set
l.v.** the number of sound channels to generate l.v. is 2. The first of
these channels uses the other channels 4 and 5, and the other one uses
the channels 6, 7 and 8.

To **play** this, ask for 8 voices and, following the rule, give them as
2,3,4,2,2,3,3,3. That is, the first l.v. voices (2 and 3), then the
non-l.v. voices (4) and finally, in order, the voice numbers allotted to
the remaining five channels (2,2,3,3,3).

**Example 4** This time no voices are to use lv. In **Set l.v.** simple
type the number of sound channels generating l.v. as **0**.

# Beat inputs

By default, if you ask for a note to be placed on 0, 1, 2, or 3 beats
(if your time signature is 4/4) CAC understands that you are intending
to refer to the macro-beats. But what if you wanted to place a note, or
anything, on the micro-beat 1, 2 or 3? Just press **--** signifying
**should be read as micro-beats**.

# Memory setup

A reminder of how many bars, how many notes and how many voices you have
configured.

# Display pitches in colours

You can configure also your pitches to be displayed in different
colours. (The GCOL colours in the code need to be re-programmed for RISC
OS 5).

# Display options

**When you discover this page a daunting list confronts you (believe me,
bednight reading was not the intention).**

**Here you can switch on or switch off (i.e. 'toggle') options which you
may or (more likely) may not find useful. Here is a summary of what they
do:**

**See graph during accel/rit** **The first Funtion (M/F) calls itself
Accel/rit (described elsewhere). It plots coordinates of a user-defined
graph to generate rhythms of either accelerating or decelerating
attacks. Whilst using this Function you can see how this graph works, or
not.**

**See info on attacks When attacks are created or copied, this option
gives a full list of the locations, intervals between them and ratios
between adjacent intervals.**

**Get printout of info on attacks When See info on attacks is on, select
this option to print out the information instead. Make sure you have
allocated some memory for System sprites in RISC OS Tasks and
double-clicked on !Paint in Apps. The printout(s) should appear as
numbered sprite files inside the folder 'Printing'.**

**Re-order attacks When attacks are created, copied or moved, this
option give you the opportunity to re-order the intervals between them,
either randomly or determinedly. If randomly, you can re-order all the
intervals (inconsistently called 'durations') or just a group of them,
and you can also determine the chance of duplicating the original as a
percentage, in other words if you selected 100% then randomness would be
abolished, but if you selected 0% then you would have maximized
randomness. This is useful if you wished to nuance how much random
re-ordering will occur. For instance, you could randomly re-order an
accelerating attacks created by the Accel/rit function but with a chance
of 50%, which would mean that 50% on average of the intervals of
acceleration would remain intact.**

**Re-order attacks during accel/rit only This saves you being quizzed
about re-ordering *unless* you are using Accel/rit.**

**Equalize attacks The unequal intervals between notes can be equalized
when created (perhaps a segment of an acceleration or ritardation),
copied or moved.**

**Equalize attacks during accel/rit only Again, this only applies when
using Accel/rit.**

**Rhythmicize attacks Allows rhythmicization (see 'Advanced
rhythmicize').**

**Re-order pitches using M/A/P Allows you to randomly re-order pitches,
restricting re-ordering not to occur beyond defined batches if you wish,
during copying pitches from one passage to another (to do this see the
tip Copying single parameters).**

**Query before adding new values to array Turn off if you are irritated
by CAC always asking you 'Do you want to add this group to the
array?'.**

**Define parameter values during input When a group of attacks is
created, CAC gives them default parameter values (default pitch,
amplitude etc). If you wanted different values to be used, press this on
to edit them when the attacks are created, then off again to use those
defaults subsequently.**

**Accel/rit by total durat, endpoints or first two notes displayed
Different ways to locate Accel/rit. Fully explained here in 'Accel/rit.'
in the 'Summary of Functions' section.**

**Accel/rit by start/finish durats or not Two different modes of
creating an Accel/rit. Fully explained here in 'Accel/rit.' in the
'Summary of Functions' section.**

**See duration upto last displayed bar See your composition's
duration.**

**Quick copy On by default, to copy a passage by notes on the screen.
When off copying is by bars and beats.**

**See durations in micro-beats or macro-beats Displays the durations in
exact numerical values as well as graphically by horizontal 'duration'
lines. You can choose between micro-beats or macro-beats.**

**Voice numbers by 1/2/3 on screen Instead of selecting a voice by its
voice number, you can alternatively press 1, 2 or 3 signifying the
voices displayed on the screen. Also pressing Enter once, twice or three
times quickly does the same job (as it does also when selecting by voice
numbers).**

**Use advanced amplitudes options If this option is on you can create a
group of amplitudes which can be (i) a recycling sample which can be
randomly re-ordered, (ii) groups manipulated according to their rhythms
or (iii) by their number of notes elapsed. These groups can be
subsequently edited, saved or re-loaded. (The 2^nd^ and 3^rd^ options
here need checking!).**

**Double v/\^ moves down/up by 3/10 staves When navigating by pressing v
or \^ twice quickly, the screen can be scrolled down or up by groups of
3 staves or 10 staves.**

**1,2 = A/R start/quickdisplay/play vces The number keys can be pressed
*before* using Menu to control various things. This option allows you to
choose *which* area the keys control. Toggle the options by pressing J
each time (which area selected is shown in brackets).**

**If you have selected A/R the keys control the starting note used in
Accel/rit when itself has been told to use the 'adjacent notes' method.
In other words, if you first press F to select 'adjacent notes', then
press, say, 3 then subsequently using Accel/rit will create an
accelerating or decelerating attacks between notes 3 and 4.**

**If you have selected quick the keys tell quickdisplay how many voices
you want to display.**

**If you have selected play the keys tell quickplay how many voices
downwards from the top of the screen to play when pressing P. This is a
shortcut useful if you are repeatedly changing the setting using
Menu/Various/Quickplay options (M/V/Q).**

**See envelope %\'s/indicators/neither If you want to alter the
positions of 'apexes' and 'troughs' of an envelope (see 'Editing
existing envelopes') this option allows you to see whereabouts along the
note's duration they occur as a percentage. Or as an alternative you can
see apexes' absolute position in time regardless of its duration as an
'indicator'. This is useful if you wanted to synchronize the apexes of
two or more notes with different attacks or durations.**

**Query if pitches all the same When inputting a group which repeats the
same pitch, when this option is switched on you will be asked firstly if
they are the same pitch, which saves you inputting them individually.**

**Group of pitches fills bottom stave If switched on, an inputted pitch
appears on all the notes displayed on the bottom stave. Useful for
obscure reasons.**

**Copy from next vces/to section This toggles the key S between Copy
from next voices and Go to section (showing in brackets as next or
sect). When set as Copy from next voices, if you first press S you can
copy a voice as normal, but the next time you copy or move CAC suggests
the next voice displayed on the screen, which you can accept by pressing
Enter. This is just a time-saving option useful when you are copying
many voices. Each time the dialogue appears suggesting the next voice,
you can cancel the facility instead.**

**When set as Go to section, pressing S invites you to go to a
particular section. 'Sections' should be displayed using Remarks as
'SECTION 1' etc. to be picked up by this facility.**

**Shift+Y = Add pitches/edit envelope This toggles the key Y when Shift
is applied. When set as pitch the key is a shortcut for Add the group of
pitches (M/A/P -- *not* M/*[G]{.underline}*/P which is Define a group of
pitches). When set as env the key functions like the other keys pressed
with Shift, to edit the envelope of note number 6 of the top voice
displayed.**

**\[ \] keys = move remarks/add to copydown This toggles the \[ and \]
keys. If set as remarks the keys move the upper remarks left or right by
one bar. If set to copy + then the number keys which copy single notes
from the top stave downwards if Shift is applied, can indicate note
numbers 11 -- 20 by pressing the key \] or 21 -- 30 by pressing the key
' or returned to the default 1 -- 10 by pressing the key \[.**

**Accel/rit asks for starting attack If switched on, then Accel/rit when
using the 'between adjacent notes' method will ask which starting note
it should use. If switched off, then Accel/rit when using the same
method will not ask about the starting note, but will use the first two
notes by default - although pressing a number key beforehand will make
Accel/rit use *that* number as the starting note (assuming the option
1,2 = A/R start is selected in Display Options).**

**Reset no.staves \^/v moves up/down by By default pressing \^ or v
navigates up or down by 1 stave. This option allows you to reset that
number to whatever you like.**

**Y = single/multiple pitch entry The shortcut Y sends you to Define a
group of pitches and by default asks you how many pitches you want to
define. But if you invariably want to define one, press this option to
single to prevent always being asked this.**

**\^V = rename/delete batch of voice names This lets you pressing V with
Shift applied either to rename a voice or to delete a batch of voice
names**

**Play with beep or assigned voices Toggle between playing voices with
the waveforms actively assigned to them or assign them with a default
WaveSynth-Beep waveform.**

**Display only voices with content If you are working with a great many
voices, it is useful to ellliminate from the display those yet to be
given with content. This quickly displays only voices *with* content
throughout the file.**

**Show list of voices with content It is also useful when working with
an orchestra-like array of voices to see a list of those with content
*during the bars currently displayed*. If it is a very long list it may
be useful to compress it vertically to be able to see it on one screen,
and also useful to see the Quickdisplay dialogue on the same screen to
be able to then select which voices you want to display for the time
being.**

**Allow copying to last note Toggle the ability during the selection of
a voice's passage to quickly select up to their last note. A useful
facility, but when over-used breeds the tendency to mis-select *all* the
voice's content rather than just part of it -- hence being able to
switch off the facility.**

**Pause for querying stave \[?\]**

**Pause for previous position \[?\]**

**Debugging mode Switch this on to see error reports from the programme
rather than errors simply reverting to the display -- the latter
prevents you seeing the 'Error at line' report every time you pressed
Esc to aborting any operation, or reports when non-fatal crashes
occur.**

# Remarks

Brief text can be annotated to your work attaching to a particular bar.
Two remarks are permitted per bar, appearing in an upper or lower line.

# Rename staves

You can type a name for, or rename, any voice.

# Change a stave's clef

You can give a clef to any voice. There are four clefs -- Piccolo clef
(sounds an octave higher), Treble clef, Bass clef and Doublebass clef
(sounds an octave lower).

Additionally, any voice can have a pair of staves rather then just one.
This is useful for a keyboard instrument **but** remember that each
voice is only monophonic, so a keyboard instrument with multiple 'real'
parts should be given that number of voices.

# Quickplay options

Quickplay allows you by default to use the key **P** and the two keys
below it to quickly play either the top voice, the middle voice or the
bottom one (with **Shift** activated to play that screenful only). But
you can play multiple number of voices downwards from the top voice
using **P** using this option.

# Set stereo positions

RISC OS can play its voices stereophonically. Each of its maximum of 8
simultaneous voices can be given a value between 1 -- 7 to pinpoint it
along the stereo spectrum.

# Set key response speeds

Key strokes used for, for example, two-digit numbers can have their
delay configured, in one-hundredths of a second.

# Tutorial

A so-far incipient Help section.

# Re-set parameter defaults

This is an extension of the ability to re-set a voice's other default
parameters when creating a passage of attacks (see the Display Option
**Define parameter values during input** -- M/V/D/P). Here you can
re-set parameter defaults in different batches (so far only functional
for amplitudes). [ ]{.underline}

# Saving and opening files

When you create a new file, you can give it a name and save it by
pressing **Menu/Save** (M/S). Then the next time you load CAC and select
**Open an existing file** the name will appear in a list of the last 9
recently-saved files. To open another file not listed here press **0**
and type in its name.

All files are kept in the folder 'Files' which is a sub-folder inside
the folder 'CAC' which was created when installing CAC. You can create
your own further sub-folders inside 'Files' to which you can save a new
file. The pathway of folders use the RISC OS convention of 'dots' (full
stops) to separate the folder names. For example if you created the
folder 'Works\_1' inside 'Files' you can then save a new file named
'Bill' as 'Works\_1.Bill'.

(Occasionally BBC BASIC refuses to save a file which is 'open'. Fix this
by Quitting then accessing the Command Line **(F12)** and type
\***close** and then press **Enter).**

# Printing files

The unsophisticated method of printing single hardcopies of one
screenful of CAC's display creates sprites files which can be opened by
!Paint, and then printed using !Printers. Software is available to then
convert sprites into PDF's.

A folder called 'Printing' should be created inside 'CAC' in advance.

To print to a sprite make sure in advance that System sprites have
sufficient memory in RISC OS's Tasks and that !Paint has been
double-clicked. Within your file press **H** for hardcopy and the sprite
will appear inside 'Printing'.

# Summary of Functions

## Accelerando/Ritardando

Generates a string of attacks which gradually accelerates or
decelerates. When creating an acceleration CAC refers to the opening
interval between the first two attacks as its **slow end** and the
culminating interval between the final two attacks as the **quick end**.
Naturally this is reversed in the case of a ritardation (deceleration).

**Accel/rit** does its job in two different modes. In the first mode the
speeds at the quickend and the slowend as well as the length of the
string are defined. The actual number of attacks is then determined by
the function. In the second mode a **rate** and a **bias** are given by
the user as well as the number of attacks and the length of the string.
The function then returns its acceleration or deceleration with the
number of attacks, a 'steepness' (given by the **rate**) and a 'curve'
of the incline (given by the **bias**) determined.

In both modes there are three options to begin an
acceleration/ritardation -- either start by giving the **total
duration** of the accel/rit, or determine the **start-point** and the
**end-point**, or 'fit' the accel/rit between outer attacks which you
have originally created. These options are found within **Diplay
Options** (M/V/D) or you can use the shortcuts **T**, **E** or **F**.

**Example of the first mode**: press **M/F/A** and give the total
duration of 5 bar 0 beats. For the **quick end duration** give 0 bars
and 120 beats. For the **slow end** give 1 bar and 0 beats. For the
**bias** press **Enter** (equivalent of **0**) to select the default of
3.7 -- different values would give different 'curves' of the
accelerating process.

Give an estimated number of attack, say 10. Unless the perfect solution
is achieved, a dialogue describes the two closest solutions. Press **A**
then **B** to select the second solution.

Then press **A** for **accel**. Then determine which bar and beat you
want to start the string (something already on the screen!) and the
voice. The accel appear over 5 bars, moving from the slow end of about 1
bar to a quick end of about 120 beats.

To examine the properties, press **D** then **6** to display 6 bars.
Press **O** four times to reveal the beat positions within each bar for
each attack. To display the attacks' intervals instead of their
positions, press **O** then **I**. The intervals are shown between 947
beats to 116 beats -- the closest the program could achieve for your
original requests.

To play the result press **\^P** if it is on the top voice, or **\^:**
below **P** if on the second voice, or **\^?** below that for the third
one (pressing **Shift** with these keystrokes plays the screenful only).

**Example of the second mode**: press **M/V/D** (Display options) then
press **S** to switch off **Accel/rit by start and finish durations**.
When you press **M/F/A** the value given to **rate** controls how
'steep' the acceleration or deceleration will be -- a value of 1 gives
nil steepness (periodic) while a value of 9 or greater will give a very
steep one.

Before doing the **Accel/rit** you can press **T** for **Accel/rit by
total duration**, or **E** for **Accel/rit by start/end points**, or
**F** for **Accel/rit between adjacent notes**, that is, the first two
notes on the screen for the voice you have chosen.

To see how the technique creating the accel/rit's work, press **M/V/D**
then **G** to see the graph during creating an accel/rit. The technique
draws a curved line which is a graph of a mathematical function.
Equidistant lines representing the attacks are plotted horizintally
until touching the curve and then plotted vertically to the axis
representing time, thus generating the attack-points of an accel/rit.

(If you press **C** the hyper-esoteric **Increment calculator** appears.
It is prefaced by an explanation in the unlikely event anyone cares).

## Layered attacks

This generates a single string of attacks made by randomly selecting
from a pre-defined repertoire of rhythmic intervals ('layers'), each
interval repeated in a pre-defined number of times. For instance you
could ask for a string with three layers being (i) an interval of 960
microbeats happening once (ii) an interval of 480 beats repeated three
times and (iii) an interval of 240 beats repeated randomly between one
to five times.

The string starts by randomly selecting (i), (ii) or (iii) followed
immediately by one of the other two layers, and so on, for as long as
you ask it for. If you wanted the string to divide into phrases with
gaps, just make one of the layers to use an interval long enough to make
a gap. Various refinements are possible during the course of the
dialogue.

## Pitch string 1

Produces a random string of pitches (which are then applied to already
created attacks) with certain properties. For example the string derives
from a given 'sample' of pitches, repeated as many times as you wish,
with the given pitches randomly occuring in defined possible octaves and
ordered according to a given plan of contours.

For instance, the sample could have three notes, C natural, D natural
and E natural. This would be recycled throughout, with the C randomly in
octaves 4, 5 or 6, the D in randomly octave 3 and 5, and the E always in
octave 5. Once it has determined the octaves for the three notes, one of
the contours originally determined by the user is randomly selected to
place the three notes in order.

Contours available are shown below, together with their codes which
should be used in **Pitch string 1**.

![](images/contours.png){width="3.5625in" height="4.5625in"}

The string can be split into sections of contrasting octave occurrence
for each pitch-class. And there are possible sections of transposition
level and contour sequences available also.

Pitches can be in a semitone, quartertone or eighth-tone mode.

## Pitch string two through six

Explanations preface each one chosen.

## Interval string

Returns a string of random pitches within a defined tessitura removing
banned pitch-classes and intervals. Multiple controls can be explored.

## Distort

One of my favourite functions. 'Distort' means editing values randomly
between defined degrees. For instance, a passage could have its attacks
distorted, changing the intervals between its attacks randomly between,
say, 80% of the original to 120% of the original. If a string of
periodic attacks were to be distorted like this, a series of intervals
between 80% - 120% of the original periodicity would result.

Like all functions, the distorted version of the passage can be 'copied'
to another voice, retaining the original, or 'moving' which deletes the
original.

Distortion of the other parameters -- pitch, amplitude, envelope etc --
behaves similarly.

## Uses of Distort

As well as generating strings of randomly 'distorted' parameters, the
function can be used simply to transpose pitches or the duration
intervals of rhythm. For instance, pitches can be distorted between '6
semitones higher' to '6 semitones higher' thus transposing the pitches
up by a tritone. Or attacks can be distorted between 150% to 150% thus
stretching the rhythms by a half.

## Slave voice & Double-stop

**Esoteric** functions meaningful only to the present writer.
Explanations can be found when looking at their dialogues within the
programme.

# Advanced rhythmicize

## Introduction

The **Rhythmicize** facilty lets you control the complexity of your
rhythmic notation. At the *least* complex, all rhythms would sub-divide
the beats by a ratio of 1:2, in other words it would position the
attacks on one or other crotchets, quavers, semiquavers and so on.

*Slightly* more complex rhythms would entertain simple irrational groups
('tuplets') such as '3 quavers in the time of 2' or '3 crotchets in the
time of 2'. In the terms of CAC, the **complexity** here would be 3, the
irrational groups would have **lengths** of between 1 beat (crotchet) -
2 beats (minim), and the **locations** of groups would be on a division
of the bar up to a maximum of 4 (a crotchet, assuming a meter of 4/4).

At the New Complexity stage **complexity** might be set as, say, 17 'in
the time of...', group **lengths** set as between ¼ of a beat -- 2 bars,
and the **locations** set as divisions of the bar into a minimum of 1/16
(that is, starting on any semiquaver). If the **shortest duration** is
set down to the speed of a hemidemisemiquaver/a sixty-fourth note (15
micro-beats in a meter of 4/4) then this would allow rhythms such as '17
hemidemisemiquavers in the time of 14 starting on any semiquaver of the
bar'.

Of course, the irrational groups could contain rests as well as attacks.
So two extra criteria are included -- **fallback locations** as well as
**groups locations** (the latter begins with an attack, while the former
begins or ends with a rest) and **default divisions beyond a certain
point** (which reduces rhythmic complexity at the cost of accuracy).

Before running through an example, a reminder: terminology in the
**rhythmicize** dialogues does not include macro-beats. The system of
960-micro-beats-to-the-bar is the only system used for the sake of
simplicity. (However, you can still use macro-beats when inputing data
-- unless you want a fraction of a macro-beat, which, of course, you can
indicate in micro-beats).

## Example

Having switched on **Rhythmicize attacks** in **Display options**
(M/V/D/H) you will need to create some attacks or copy them or move them
to be then invited to **rhythmicize** them.

Having created a suitably complex passage (maybe using **Accel/rit** or
**Distort attacks**) reply **Y** to the question **Do you want this
group to be rhythmicized?**

The next screen gives you a generic three-way choice about irrational
groups: re-define the criteria, keep the criteria you have already
defined during this session, or use the CAC's defaults.

To help you, there follows a reminder of the criteria, which if this is
the first occasion this session you have used **rhythmicize** will be
CAC's defaults. Upper case letters draw your attention to the six
categories of criteria described in the above **Introduction** -- GROUP
LENGTHS, GROUP LOCATIONS, FALLBACK LOCATIONS, SHORTEST DURATION,
COMPLEXITY and DEFAULT DIVISIONS. Press **Y** to re-define these
criteria.

You will immediately be asked to give criteria about the irrational
**group lengths**, namely the shortest and the longest. Bear in mind
CAC's invariance of fixed bars each consisting of 960 micro-beats. Given
this, various meters would pan out as:

meter 4/4 micro-beats per macro-beat (crotchet) -- 240

meter 2/4 micro-beats per macro-beat (crotchet) -- 480

meter 3/4 micro-beats per macro-beat (crotchet) -- 320

meter 5/4 micro-beats per macro-beat (crotchet) -- 192

meter 4/8 micro-beats per macro-beat (quaver) -- 240

Let's choose a shortest group length of one crotchet (in a meter of 4/4
type 0 bars 240 beats, or 0 bars 1 beat). For a longest group length
let's have a minim (0 bars 2 beats).

Choose a **group location** which is acceptable for the shortest group.
You probably want the crotchet groups to occur on any crotchet of the
bar, so type 4 for ¼ of the bar.

The **fallback locations** might be the same as group locations, or
possibly in certain contexts acceptable only on less frequent beats.
Here type 4 again for ¼ of the bar.

An updated account of your criteria now appears, followed by a question
about the shortest allowable duration. The shorter the duration allowed,
the finer the temporal 'grid', and therefore the greater accuracy
achieved by **rhythmicize**. But this can go too far. For example, if in
order to render the position of an attack precisely would require the
division of a crotchet into 16 or more parts (hemidemisemiquavers or
1/64-notes) then it might be considered preferable to simplify the
notation at the expense of inaccuracy (unperceivable, let alone
unperformable, anyway). That would insist on a shortest duration of a
demisemiquaver (1/32-note) or even a semiquaver (1/16-note). In 4/4 that
would a shortest duration of 30 micro-beats or 60 micro-beats
respectively.

Let's keep it simple and pick 60 beats.

The next question asks about **complexity**. This is straightforward --
use the first number of the formula '*x* in the time *x*'. CAC will then
use that number, and lesser than it, in its irrationals. So giving the
value **4** would include '4 in the time of 3' and '3 in the time of 2'.
The value **5** would include those plus '5 in the time of 4' and '5 in
the time of 3'.

The final question regarding **default divisions** will be illustrated
by three alternative criteria:

![](images/rhythmicize.png){width="5.572916666666667in"
height="5.854166666666667in"}

Stave '1' contains a single attack on bar 4 beat 647 before
rhythmicization.

The following three staves rhythmicize stave 1 progressively more
accurate -- they place the attack on beats 640, 651 and 648 --
inaccurate by a distance of repectively 7, 4 and 1 beats.

This progressively accuracy entails however progressively more
complexity of its irrational notation.

The criteria instructed for the three staves are given below:

group lengths group locations fallback locations shortest duration
complexity default divisions

stave 10 480 -- 480 ½ ½ 60 9 8

stave 11 240 -- 240 ¼ ¼ 30 9 32

stave 12 240 -- 240 ¼ ¼ 15 9 64

Stave 10's **lengths** and **locations** determines its irrational
length as 480 (a minim) and located on any ½ of a bar

Stave 11 and 12's **lengths** and **locations** determines its
irrational length as 240 (a crotchet) and located on any ¼ of a bar
(includes ½!)

However the salient criteria are **shortest duration** and **default
divisions**.

Stave 10's shortest duration of **60 beats** permits only irrational
notation using semiquavers and slower. And its default divisions of
**8** prefers irrationals using no more than 8 divisions of the bar (a
quaver) if possible.

Stave 11's shortest duration of 30 beats permits notation using
demisemiquavers and slower and a default division of 32, in other words
a division of a crotchet into 8 - criteria which allows the septuplet
semiquavers here.

Stave 12's shortest duration of 15 allows speeds down to
hemidemisemiquavers and slower, and with its default divisions of 64
allows the crotchet to be divided into 16, which permits the use of the
quintuplet demisemiquavers here, which divide the crotchet into10.

## Conclusion

This example of rhythmicizing the only single attack in a bar may seem
pedantic with its possibilities. However it will be found in contexts of
music with rapid non-periodic rhythms, generated maybe by automatic
funcions such as **Accel/rit**, **Layered attacks** or **Distort
attacks**, then it is very useful to arrive quickly at rhythmicized
notation with your own preferences of degree of complexity and rhythmic
'style'.

It has found useful to experiment with the criteria in order to arrive
at the best solution. Especially altering the value given to **default
divisions** can sometimes throw up a simpler rhythmicization of a
passage, avoiding anomalies sometimes produced by more complex solutions
-- trying settings here of 24 or 36 or 48 should give a clearly
preferable solution.


# Tips

## Cancelling menus via Escape

If you have arrived at some or other menu or sub-menu and do not wish to
proceed, or for any reason at all you want to get back to 'square 1',
just press **Esc**.

## Undo the last operation

And if you don't like something you have just done, click **Undo**
(M/Z).

## Quickly select a voice

Often menus ask **Which voice?**. If the voice you want to choose is
displayed on the screen and is at the top of the three on the screen,
just press **Enter**. To select the second voice on the screen, press
**Enter** twice in quick succession. And for the third press it three
times.

## Pressing Enter

Often pressing **Enter** (the equivalent of inputting the figure '0')
will result in a shortcut. For example, if you are asked 'Which bar?'
pressing **Enter** automatically gives the first bar being displayed,
or, during copying or moving, the bar and beat of the original. For the
question 'which beat?' if you want the first beat of the bar just
pressing **Enter** is quicker than typing the number '0'.

## Copying single parameters

You may wish to copy, say, the pitches of a passage to another passage
without disturbing its other parameters (attacks, amplitudes etc.) This
can be done by, first, copying or moving the original to itself, which
places all its parameters on the clipboard, then press **Menu/Add the
group of values/Pitches** (M/A/P) and select which voice the pitches are
to be copied *to* and which note they are to begin. The pitches you
previously copied to itself in the original are then duplicated here.
All other parameter except attacks can be copied in the same way.

## Quickly playing things

The keys **P** and the two keys below it are shortcuts to play the top
voice displayed or the middle voice or the bottom voice.

Holding down **Shift** before pressing the keys plays the voice only for
the screen display.

Any number of voices can be played downwards from the top voice dispayed
by pressing **Quickplay options** (M/V/Q).

Press **R** to replay.

## Menus large or little

Press @ to contract menus so as to obscure music minimally.

## Quick navigation

**\<** one bar left **\>** one bar right

**\<\<** a screenful left **\>\>** a screenful right

**\<** **then a number key** that number of bars left **\>** **then a
number key** that number of bars right

**\^** one stave up **v** one stave down

**\^\^** three staves up **vv** three staves down

**\^** **then a number key** that number of staves up **v then a number
key** that number of staves down

**\^** then **0** fifty staves up **v** then **0** fifty staves down

**¬** type a number to display from which voice down

## Desparate for a quick random number

Press **N** to satisfy your addiction. But beware, unless you are happy
with the same 'random' numbers produced each time you use CAC (BBC BASIC
always uses the same chart of random numbers every time) hold down **R**
to re-run it multiple times to 'randomize' the use of the chart. For
true random number try [www.random.org](http://www.random.org).

# Keyboard Shortcuts
